home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 19 / Amiga Plus Leser CD 19.iso / Online / Unreal / unrealircd.conf < prev   
Text File  |  2002-11-17  |  16KB  |  748 lines

  1. /*
  2.  * example.conf by Daniel Hawton AKA Osiris (osiris@unrealircd.org) Last
  3.  * updated 2. August 2001
  4.  * 
  5.  * Works for Unreal3.2 and up
  6.  * 
  7.  * Okay guys.  This is the new example.conf. Its look is much like C++, kinda.
  8.  * Anyway it is time to go over this.  It's hard to pick up at first, but
  9.  * with some pratice and reading you'll understand.
  10.  * 
  11.  * NOTE:  All lines, except the opening { line, end in an ;, including the
  12.  * closing } line. The IRCd will ignore commented lines.
  13.  */
  14.  
  15. /* Type of comments */
  16. #Comment type 1 (Shell type)
  17. // Comment type 2(C++ style)
  18. /* Comment type 3 (C Style) */
  19. #those lines are ignored by the ircd.
  20.  
  21. /*
  22.  * NEW: me {} 
  23.  * OLD: M:Line 
  24.  * me {} defines the name, description and unreal server numeric for
  25.  * this server. Syntax is as follows: 
  26.  * me { 
  27.  *  name "server.name"; 
  28.  *  info "Server Description";
  29.  *  numeric (server numeric*);
  30.  * }; 
  31.  * If linking, this numeric may not be used by any other server on the network.
  32.  */
  33.  
  34. me
  35. {
  36.     name "irc.foonet.com";
  37.     info "FooNet Server";
  38.     numeric 1;
  39. };
  40.  
  41. /*
  42.  * NEW: admin {} 
  43.  * OLD: A:Line Admin gives information on the server admin. you
  44.  * may put as many lines under admin { as you wish. 
  45.  * Syntax is as follows:
  46.  * admin {
  47.  *   "first line"; 
  48.  *   "second line"; 
  49.  *   [etc]
  50.  * };
  51.  */
  52. admin {
  53.     "Bob Smith";
  54.     "bob";
  55.     "widely@used.name";
  56. };
  57.  
  58. /*
  59.  * NEW: class {} 
  60.  * OLD: Y:line (old was confusing) 
  61.  * These define settings for classes. A class is a group setting for 
  62.  * connections. Example, server connections, instead of going to a client's
  63.  * class, you direct it to the server class. Syntax is as follows
  64.  * class (class name)
  65.  * {
  66.  *     pingfreq (how often to ping a user/server in seconds);
  67.  *     maxclients (how many connections for this class);
  68.  *     sendq (maximum send queue from a connection);
  69.  *  };
  70.  */
  71.  
  72. class           clients
  73. {
  74.     pingfreq 90;
  75.     maxclients 500;
  76.     sendq 100000;
  77. };
  78.  
  79. class           servers
  80. {
  81.     pingfreq 90;
  82.     maxclients 10;        /* Max servers we can have linked at a time */
  83.     sendq 1000000;
  84.     connfreq 100; /* How many seconds between each connection attempt */
  85. };
  86.  
  87. /*
  88.  * NEW: allow {} 
  89.  * OLD: I:Line
  90.  * This defines allowing of connections...
  91.  * Basically for clients, it allows them to connect so you can have some
  92.  * control and/or set a password. 
  93.  * Syntax is as follows: 
  94.  * allow {
  95.  *    ip (ip mask to allow);
  96.  *    hostname (host mask);
  97.  *    class (class to send them to [see class {}]);
  98.  *    password "(password)"; (optional)
  99.  *    maxperip (how many connections per ip); (optional) 
  100.  * };
  101.  */
  102.  
  103. allow {
  104.     ip             *@*;
  105.     hostname       *@*;
  106.     class           clients;
  107.     maxperip 5;
  108. };
  109.  
  110. /* Passworded allow line */
  111. allow {
  112.     ip             *@255.255.255.255;
  113.     hostname       *@*.passworded.ugly.people;
  114.     class           clients;
  115.     password "f00Ness";
  116.     maxperip 1;
  117. };
  118.  
  119. /*
  120.  * NEW: allow channel {} 
  121.  * OLD: chrestrict 
  122.  * Allows a user to join a channel...
  123.  * like an except from deny channel. 
  124.  * Syntax:
  125.  * allow channel {
  126.  *   channel "channel name";
  127.  * };
  128.  */
  129. allow           channel {
  130.     channel "#WarezSucks";
  131. };
  132.  
  133. /*
  134.  * NEW: oper {} 
  135.  * OLD: O:Line 
  136.  * Defines an IRC Operator
  137.  * IRC operators are there to keep sanity to the server and usually keep it
  138.  * maintained and connected to the network. 
  139.  * The syntax is as follows: 
  140.  * oper (login) { 
  141.  *     class (class to put them in, if different from I, moves them to new
  142.  *                class); 
  143.  *     from { 
  144.  *        userhost (ident@host);
  145.  *        userhost (ident@host);
  146.  *     }; 
  147.  *     flags
  148.  *     { 
  149.  *       (flags here*);
  150.  *     };
  151.  *     OR
  152.  *     flags "old type flags, like OAaRD";
  153.  * };
  154.  */
  155.  
  156. /* OLD OPER FLAG  | NEW FLAG NAME
  157.     O        global
  158.     o        local
  159.     a        services-admin
  160.     A        admin
  161.     r        can_rehash
  162.     e        eyes
  163.     D        can_die
  164.     R        can_restart
  165.     h        helpop
  166.     w        can_wallops
  167.     g        can_globops
  168.     c        can_localroute
  169.     L        can_globalroute
  170.     k        can_localkill
  171.     K        can_globalkill
  172.     b        can_kline
  173.     Z        can_gzline
  174.     t        can_gkline
  175.     B        can_unkline
  176.     n        can_localnotice
  177.     G        can_globalnotice
  178.     N        netadmin
  179.     C        coadmin
  180.     z        can_zline
  181.     W        get_umodew
  182.     ^        can_stealth
  183.     H        get_host
  184. */
  185.  
  186. /*
  187. Note: netadmin gives you OaAN
  188. admin and services-admin give you o as well
  189. */
  190.  
  191. oper bobsmith {
  192.     class           clients;
  193.     from {
  194.         userhost bob@smithco.com;
  195.     };
  196.     password "f00";
  197.     flags
  198.     {
  199.         netadmin;
  200.         global;
  201.     };
  202. };
  203. /*
  204.  * NEW: listen {}
  205.  * OLD: P:Line
  206.  * This defines a port for the ircd to bind to, to
  207.  * allow users/servers to connect to the server. 
  208.  * Syntax is as follows:
  209.  * listen (ip number):(port number) 
  210.  * { 
  211.  *   options {
  212.  *     (options here);
  213.  *   };
  214.  * };
  215.  * or for a plain
  216.  * listen: listen (ip):(port);
  217.  * 
  218.  * NOTICE: for ipv6 ips (3ffe:b80:2:51d::2 etc), use listen [ip]:port;
  219.  * 
  220.  * That works also.
  221.  */
  222.  
  223. /* Options for listen:
  224.     OLD    |     NEW
  225.     S        serversonly
  226.     C        clientsonly
  227.     J        java
  228.     s        ssl
  229.     *        standard
  230. */
  231.  
  232. listen         *:6601
  233. {
  234.     options
  235.     {
  236.         ssl;
  237.         clientsonly;
  238.     };
  239. };
  240.  
  241. listen         *:8067;
  242. listen         *:6667;
  243.  
  244. /*
  245.  * NEW: link {}
  246.  * OLD: C/N:Lines
  247.  * This defines an okay for a server connection.
  248.  * NOTE: BOTH SERVERS NEED A LINK {} SETTING TO CONNECT PROPERLY!
  249.  * Syntax is as follows:
  250.  * link (server name)
  251.  * {
  252.  *    username    (username, * works too);
  253.  *     hostname    (ip number/hostmask);
  254.  *    bind-ip        (What IP to bind to when connecting, or *);
  255.  *    port        (port to connect to, if any);
  256.  *    hub (If this is a hub, * works, or servermasks it may bring in);
  257.  *    [or leaf *;]
  258.  *    password-connect "(pass to send)";
  259.  *    password-receive "(pass we should receive)";
  260.  *    class        (class to direct servers into);
  261.  *    options {
  262.  *        (options here*);
  263.  *    };
  264.  *      /* If we use SSL, we can choose what cipher to use in SSL mode
  265.  *       * Retrieve a list by "openssl ciphers", seperate ciphers with :'s
  266.  *      */
  267.  *      ciphers "DES-CBC3-MD5";
  268.  * 
  269.  * };
  270. */
  271.  
  272. /*
  273.     options:
  274.     OLD    |    NEW
  275.     S        ssl
  276.     Z        zip
  277.     N/A        autoconnect
  278.     N/A        quarantine
  279. */
  280.  
  281.  
  282. link            hub.mynet.com
  283. {
  284.     username    *;
  285.     hostname     1.2.3.4;
  286.     bind-ip     *;
  287.     port         7029;
  288.     hub             *;
  289.     password-connect "LiNk";
  290.     password-receive "LiNk";
  291.     class           servers;
  292.         options {
  293.             autoconnect;
  294.             ssl;
  295.             zip;
  296.         };
  297. };
  298. /*
  299.  *
  300.  * NEW: ulines {}
  301.  * OLD: U:Line
  302.  * Lets these server's clients do pretty much anything.
  303.  * Syntax is as follows:
  304.  * ulines {
  305.  *    (server to uline);
  306.  *    (server to uline);
  307.  * };
  308.  * You may put as many servers in there as you like.
  309. */
  310. ulines {
  311.     services.roxnet.org;
  312.     stats.roxnet.org;
  313. };
  314.  
  315. /*
  316.  * NEW: drpass {}
  317.  * OLD: X:Line
  318.  * This defines the passwords for /die and /restart.
  319.  * Syntax is as follows:
  320.  * drpass { 
  321.  *  restart        "(password for restarting)";
  322.  *  die                "(password for die)";
  323.  * };
  324.  */
  325. drpass {
  326.     restart "I-love-to-restart";
  327.     die "die-you-stupid";
  328. };
  329.  
  330. /*
  331.  * NEW: log {} OLD: N/A Tells the ircd where and what to log(s). You can have
  332.  * as many as you wish.
  333.  * 
  334.  * FLAGS: errors, kills, tkl, connects, server-connects, kline, oper
  335.  * 
  336.  * NOTICE: Right now, SEGV messages are *always* sent to ircd.log. codemastr is
  337.  * working on a way to redirect the messages to this log file. *
  338.  * Syntax: 
  339.  * log "log file" 
  340.  * {
  341.  *    flags
  342.  *    {
  343.  *        flag;
  344.  *        flag; 
  345.  *        etc.. 
  346.  *    }; 
  347.  * };
  348.  */
  349.  
  350. log "ircd.log" {
  351.     /* Delete the log file and start a new one when it reaches 2MB, leave this out to always use the 
  352.        same log */
  353.     maxsize 2097152;
  354.     flags {
  355.         oper;
  356.         kline;
  357.         connects;
  358.         server-connects;
  359.         kills;
  360.         errors;
  361.     };
  362. };
  363.  
  364. /*
  365.  * NEW: alias {}
  366.  * OLD: N/A
  367.  * This allows you to set command aliases such as /nickserv, /chanserv etc
  368.  * FLAGS: services, stats, normal
  369.  *
  370.  * Syntax:
  371.  * alias "name" {
  372.  *    nick "points to";
  373.  *    type aliastype;
  374.  * };
  375.  */
  376.  
  377. // This points the command /nickserv to the user NickServ who is connected to the set::services-name server
  378. /*alias NickServ {
  379.     nick "NickServ";
  380.     type services;
  381. };*/
  382.  
  383. // If you want the command to point to the same nick as the command, you can leave the nick entry out
  384. //alias ChanServ { type services; };
  385.  
  386. // Points the /statserv command to the user StatServ on the set::stats-name server
  387. //alias StatServ { type stats; };
  388.  
  389. // Points the /superbot command to the user SuperBot
  390. //alias SuperBot { type normal; };
  391.  
  392.  
  393. /* Standard aliases */
  394. alias NickServ { type services; };
  395. alias ChanServ { type services; };
  396. alias OperServ { type services; };
  397. alias HelpServ { type services; };
  398. alias StatServ { type stats; };
  399.  
  400. /*
  401.  * NEW: alias {}
  402.  * OLD: N/A
  403.  * This allows you to set command aliases such as /identify, /services, etc
  404.  *
  405.  * Syntax:
  406.  * alias "name" {
  407.  *    format "format string" {
  408.  *        alias "points to";
  409.  *        parameters "parameters to send";
  410.  *    };
  411.  *    type command;
  412.  * };
  413.  */
  414. /* This is shown seperately because even though it has teh same name as the previous directive, it is very
  415.  * different in syntax, although it provides a similar function and relys on the standard aliases to work.
  416.  */
  417. /*
  418. alias "identify" {
  419.     format "^#" {
  420.         alias "chanserv";
  421.         parameters "IDENTIFY %1-";
  422.     };
  423.     format "^[^#]" {
  424.         alias "nickserv";
  425.         parameters "IDENTIFY %1-";
  426.     };
  427.     type command;
  428. };
  429. */
  430. /* The alias::format directive is a regular expression. The first format matches the /identify command when
  431.  * the first character is a #. It then passes this along to the chanserv alias with the parameters IDENTIFY
  432.  * %1-. The second format matches then /identify command when the first character is not a #. It then
  433.  * passes the command to the nickserv alias with parameters IDENTIFY %1-.
  434.  */
  435.  
  436. /* The alias::format::parameters is similar to scripting languages. %N (where N is a number) represents a
  437.  * parameter sent to the command (in this case /identify). If you specify %N- it means all parameters from
  438.  * N until the last parameter in the string.
  439. */
  440.  
  441. /* Standard aliases */
  442. alias "services" {
  443.     format "^#" {
  444.         alias "chanserv";
  445.         parameters "%1-";
  446.     };
  447.     format "^[^#]" {
  448.         alias "nickserv";
  449.         parameters "%1-";
  450.     };
  451.     type command;
  452. };
  453.  
  454. alias "identify" {
  455.     format "^#" {
  456.         alias "chanserv";
  457.         parameters "IDENTIFY %1-";
  458.     };
  459.     format "^[^#]" {
  460.         alias "nickserv";
  461.         parameters "IDENTIFY %1-";
  462.     };
  463.     type command;
  464. };
  465.  
  466.  
  467. /*
  468.  * NEW: tld {}
  469.  * OLD: T:Line
  470.  * This sets a different motd and rules files
  471.  * depending on the clients hostmask.
  472.  * Syntax is as follows: 
  473.  * tld {
  474.  *    mask (ident@host);
  475.  *    motd "(motd file)";
  476.  *    rules "(rules file)";
  477.  * };
  478.  */
  479.  
  480. tld {
  481.     mask *@*.fr;
  482.     motd "ircd.motd.fr";
  483.     rules "ircd.rules.fr";
  484. };
  485.  
  486. /*
  487.  * NEW: ban nick {}
  488.  * OLD: Q:Line
  489.  * Bans a nickname, so it can't be used.
  490.  * Syntax is as follows:
  491.  * ban nick {
  492.  *    mask "(nick to ban)";
  493.  *    reason "(reason)";
  494.  * };
  495. */
  496. ban nick {
  497.     mask "*C*h*a*n*S*e*r*v*";
  498.     reason "Reserved for Services";
  499. };
  500. /*
  501.  * NEW: ban ip {}
  502.  * OLD: Z:Line
  503.  * Bans an ip from connecting to the network.
  504.  * Syntax:
  505.  * ban ip { mask (ip number/hostmask); reason "(reason)"; };
  506. */
  507. ban ip {
  508.     mask 195.86.232.81;
  509.     reason "Delinked server";
  510. };
  511. /*
  512.  * NEW: ban server {}
  513.  * OLD: Server Q:Line
  514.  * Disables a server from connecting to you.
  515.  * Syntax is as follows:
  516.  * ban server {
  517.  *    mask "(server name)";
  518.  *    reason "(reason to give)";
  519.  * };
  520. */
  521.  
  522. ban server {
  523.     mask eris.berkeley.edu;
  524.     reason "Get out of here.";
  525. };
  526. /*
  527.  * NEW: ban user {}
  528.  * OLD: K:Line
  529.  * This makes it so a user from a certain mask can't connect
  530.  * to your server.
  531.  * Syntax:
  532.  * ban user { mask (hostmask/ip number); reason "(reason)"; };
  533. */
  534.  
  535. ban user {
  536.     mask *tirc@*.saturn.bbn.com;
  537.         reason "Idiot";
  538. };
  539.  
  540. /*
  541.  * NEW: ban realname {}
  542.  * OLD: n:Line
  543.  * This bans a certain realname from being used.
  544.  * Syntax:
  545.  * ban realname {
  546.  *    mask "(real name)";
  547.  *     reason "(reason)";
  548.  * };
  549. */
  550.  
  551. ban realname {
  552.     mask "Swat Team";
  553.     reason "mIRKFORCE";
  554. };
  555.  
  556. ban realname {
  557.     mask "sub7server";
  558.     reason "sub7";
  559. };
  560.  
  561. /*
  562.  * NOTE FOR ALL BANS, they may be repeated for addition entries!
  563.  * 
  564.  * NEW: except ban {} 
  565.  * OLD: E:Line
  566.  * This makes it so you can't get banned. 
  567.  * Syntax:
  568.  * except ban { mask (ident@host); };
  569.  * Repeat the except ban {} as many times
  570.  * as you want for different hosts.
  571.  */
  572.  
  573. except ban {
  574.     /* don't ban stskeeps */
  575.     mask           *stskeeps@212.*;
  576. };
  577.  
  578. /*
  579.  * NEW: except scan {} 
  580.  * OLD: e:Line
  581.  * Makes it so scan.so doesn't scan you.
  582.  *
  583.  * except scan { mask (ip number/hostmask); }; 
  584.  * repeat except scan {} for each ip to except.
  585.  */
  586.  
  587. except scan {
  588.     mask 216.73.27.177;
  589. };
  590. /*
  591.  * NEW: deny dcc {} 
  592.  * OLD: dccdeny.conf
  593.  * Use this to block dcc send's... stops
  594.  * viruses better. 
  595.  * Syntax: 
  596.  * deny dcc 
  597.  * { 
  598.  *   filename "file to block (ie, *exe)";
  599.  *   reason "reason";
  600.  * };
  601.  */
  602. deny dcc {
  603.     filename "*sub7*";
  604.     reason "Possible Sub7 Virus";
  605. };
  606.  
  607. /*
  608.  * NEW: deny channel {}
  609.  * OLD: N/A (NEW)
  610.  * This blocks channels from being joined.
  611.  * Syntax:
  612.  * deny channel {
  613.  *     channel "(channel)";
  614.  *     reason "reason";
  615.  * };
  616. */
  617. deny channel {
  618.     channel "*warez*";
  619.     reason "Warez is illegal";
  620. };
  621.  
  622. /*
  623.  * NEW: vhost {}
  624.  * OLD: Vhost.conf file
  625.  * This sets a fake ip for non-opers, or
  626.  * opers too lazy to /sethost :P
  627.  * Syntax:  
  628.  *   vhost { 
  629.  *       vhost (vhost.com); 
  630.  *       from {
  631.  *            userhost (ident@host to allow to use it);
  632.  *       };
  633.  *       login (login name);
  634.  *       password (password);
  635.  *   };
  636.  *        then to use this vhost, do /vhost (login) (password) in IRC
  637.  */
  638. vhost {
  639.     vhost           i.hate.microsefrs.com;
  640.     from {
  641.         userhost       *@*.image.dk;
  642.     };
  643.     login           stskeeps;
  644.     password        moocowsrulemyworld;
  645. };
  646.  
  647. /* You can include other configuration files */
  648. /* include "klines.conf"; */
  649.  
  650. /*
  651.  * Cloak-keys must be > 10000, and random. MUST be the same all over the
  652.  * network
  653.  * 
  654.  * cloak-keys { 39999; 99398; 99397; }; for example
  655.  */
  656.  
  657. /* Network configuration */
  658. set {
  659.     network-name         "ROXnet";
  660.     default-server         "irc.roxnet.org";
  661.     services-server     "services.roxnet.org";
  662.     stats-server         "stats.roxnet.org";
  663.     help-channel         "#ROXnet";
  664.     hiddenhost-prefix    "rox";
  665.     prefix-quit         "no";
  666.     cloak-keys {
  667.         9666;
  668.         3333;
  669.         3330;
  670.     };
  671.     /* on-oper host */
  672.     hosts {
  673.         local        "locop.roxnet.org";
  674.         global        "ircop.roxnet.org";
  675.         coadmin        "coadmin.roxnet.org";
  676.         admin        "admin.roxnet.org";
  677.         servicesadmin     "csops.roxnet.org";
  678.         techadmin     "techadmin.roxnet.org"; /* depreciated */
  679.         netadmin     "netadmin.roxnet.org";
  680.         host-on-oper-up "no";
  681.     };
  682. };
  683.  
  684. /* Server specific configuration */
  685.  
  686. set {
  687.     kline-address "set.this.email";
  688.     modes-on-connect "+xw";
  689.     modes-on-oper     "+xwgs";
  690.     oper-auto-join "#opers";
  691.     dns {
  692.         nameserver 127.0.0.1;
  693.         timeout 2s;
  694.         retries 2s;
  695.     };
  696.     options {
  697.         enable-opermotd;
  698.         enable-chatops;
  699.         hide-ulines;
  700.         identd-check;
  701.         show-connect-info;
  702.     };
  703.  
  704.     scan {
  705.         ban-message "Insecure SOCKS server";
  706.         quit-message "Insecure SOCKS server";
  707.         /* Choose this to be some IP and some port that's always open and
  708.                  * reachable by the proxies 
  709.                  */
  710.         endpoint [ip]:port;
  711.         /*
  712.                  * What IP should the scanners bind to before connecting
  713.                 */
  714.          bind-ip "ip";
  715.         /*
  716.                  * What message should we NOTICE to the users when we scan them
  717.         */
  718.         message "<insert scan notice here> (admin didn't edit config correctly)";
  719.         ban-time "4d";
  720.     };
  721.     ssl {
  722.         /* Reads entropy from the domain socket located at '~/entropy' */
  723.         egd "~/entropy";
  724.         /* Where to locate the server X509 certificate */
  725.         certificate "server.cert.pem";
  726.         /* Where to locate the server's RSA private key */
  727.         key "server.key.pem";
  728.     };
  729.     maxchannelsperuser 10;
  730.     /* The minimum time a user must be connected before being allowed to use a QUIT message,
  731.      * This will hopefully help stop spam */
  732.     anti-spam-quit-message-time 10s;
  733.     /* Make the message in static-quit show in all quits - meaning no
  734.            custom quits are allowed on local server */
  735.     /* static-quit "Client quit";    */
  736.     /* This allows you to make certain stats oper only, use * for all stats or leave this out to allow 
  737.      * all users to use any stats. */
  738.     oper-only-stats "okG";
  739. };
  740. /*
  741.  * Need more help ? 
  742.  * 1) Read the documentation like this file
  743.  * 2) Come to irc.ircsystems.net #Unreal-Support
  744.  * 3) Mail supporters@lists.unrealircd.org
  745.  * 
  746.  * Hope this helps you, -Osiris
  747.  */
  748.